﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BusinessObjects.Person;

namespace DataObjects.Interface.Person
{
    public interface IAccountingObjectCategoryDao
    {
        List<AccountingObjectCategory> GetAccountingObjectCategories();

        AccountingObjectCategory GetAccountingObjectCategoryByBranch(string restaurantId, string accountingObjectCategoryId);

        List<AccountingObjectCategory> GetAccountingObjectCategoriesByBranch(string restaurantId, bool isCustomer, bool isVendor, bool isEmployee);

        AccountingObjectCategory GetAccountingObjectCategory(string accountingObjectCategoryId);

        List<AccountingObjectCategory> GetAccountingObjectCategoriesByBranchAndIsActive(string restaurantId, bool isCustomer, bool isVendor, bool isEmployee, bool isActive);

        int GetCountAcountingObjectCategoryByParentId(string accountingObjectCategoryId);

        void InsertAccountingObjectCategory(AccountingObjectCategory accountingObjectCategory);

        void UpdateAccountingObjectCategory(AccountingObjectCategory accountingObjectCategory);

        void DeleteAccountingObjectCategory(AccountingObjectCategory accountingObjectCategory);
    }
}
